package cn.tedu.spring.example;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class TestUser {
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
        /**
         * 方式1: new方式创建对象
         */
        User user1 = new User();
        user1.run();

        /**
         * 方式2:反射方式创建对象
         */
        Class zz  = Class.forName("cn.tedu.spring.example.User");
        User user2 = (User) zz.newInstance();
        user2.run();

        /**
         * 方式3:通过Spring框架创建对象
         * 1.由Spring框架创建出来的对象,叫做 Spring Bean对象, 简称 Bean对象.
         * 2.Bean对象和普通的Java对象没有任何区别,只是为了区分创建者的身份.
         * 3.IoC容器: 创建和存放Spring Bean对象的容器.
         */
        ApplicationContext context = new AnnotationConfigApplicationContext("cn.tedu.spring.example");
        User user3 = context.getBean(User.class);
        user3.run();
    }
}



